/*
 {
        "id": "622574e536a9ba1be763dadf",
        "createTime": "2022-03-07 10:58:45",
        "updateTime": "2023-02-09 14:08:15",
        "isDeleted": 0,
        "param": {
          "hostypeString": "三级乙等",
          "fullAddress": "北京市市辖区西城区"
        },
        "hoscode": "1000_7",
        "hosname": "北京市海淀区同步中医骨科医院",
        "hostype": "2",
        "provinceCode": "110000",
        "cityCode": "110100",
        "districtCode": "110102",
        "address": "",
        "logoData": "",
        "intro": "北京协和医院是集医疗、教学、科研于一体的大型三级甲等综合医院，是国家卫生计生委指定的全国疑难重症诊治指导中心，也是最早承担高干保健和外宾医疗任务的医院之一，以学科齐全、技术力量雄厚、特色专科突出、多学科综合优势强大享誉海内外。在2010、2011、2012、2013、2014年复旦大学医院管理研究所公布的“中国最佳医院排行榜”中连续五年名列榜首。\n\n医院建成于1921年，由洛克菲勒基金会创办。建院之初，就志在“建成亚洲最好的医学中心”。90余年来，医院形成了“严谨、求精、勤奋、奉献”的协和精神和兼容并蓄的特色文化风格，创立了“三基”、“三严”的现代医学教育理念，形成了以“教授、病案、图书馆”著称的协和“三宝”，培养造就了张孝骞、林巧稚等一代医学大师和多位中国现代医学的领军人物，并向全国输送了大批的医学管理人才，创建了当今知名的10余家大型综合及专科医院。2011年在总结90年发展经验的基础上，创新性提出了“待病人如亲人，提高病人满意度；待同事如家人，提高员工幸福感”新办院理念。\n\n目前，医院共有2个院区、总建筑面积53万平方米，在职职工4000余名、两院院士5人、临床和医技科室53个、国家级重点学科20个、国家临床重点专科29个、博士点16个、硕士点29个、国家级继续医学教育基地6个、二级学科住院医师培养基地18个、三级学科专科医师培养基地15个。开放住院床位2000余张，单日最高门诊量约1.5万人次、年出院病人约8万余人次。被评为“全国文明单位”、“全国创先争优先进基层党组织”、“全国卫生系统先进集体”、“首都卫生系统文明单位”、“最受欢迎三甲医院”，荣获全国五一劳动奖章。同时，医院还承担着支援老少边穷地区、国家重要活动和突发事件主力医疗队的重任，在2008年北京奥运工作中荣获“特别贡献奖”。\n\n90多年来，协和人以执着的医志、高尚的医德、精湛的医术和严谨的学风书写了辉煌的历史，今天的协和人正为打造“国际知名、国内一流”医院的目标而继续努力。",
        "route": "\n东院区乘车路线：106、108、110、111、116、684、685路到东单路口北；41、104快、814路到东单路口南；1、52、802路到东单路口西；20、25、37、39路到东单路口东；103、104、420、803路到新东安市场；地铁1、5号线到东单。\n西院区乘车路线：68路到辟才胡同东口；更多乘车路线详见须知。\n\n",
        "status": 1,
        "bookingRule": {
          "cycle": 10,
          "releaseTime": "10:00",
          "stopTime": "12:30",
          "quitDay": -1,
          "quitTime": "15:30",
          "rule": [
            "西院区预约号取号地点：西院区门诊楼一层大厅挂号窗口取号"
          ]
        }
      }
*/

export interface BookingRule {
  cycle: number; //预约周期
  releaseTime: string; //放号时间
  stopTime: string; //停挂时间
  quitDay: number;
  quitTime: string; //退号时间
  rule: string[]; //预约规则
}
export interface IHospitalItem {
  id: string; //医院Id
  createTime: string; //创建时间
  updateTime: string; //修改时间
  isDeleted: 0;
  param: {
    hostypeString: string; //医院等级
    fullAddress: string; //医院地址
  };
  hoscode: string; //医院编码
  hosname: string; //医院名称
  hostype: string; //医院类型
  provinceCode: string; //省
  cityCode: string; //市
  districtCode: string; //区域
  address: string; //地址
  logoData: string; //医院logo
  intro: string; //医院简介
  route: string; //坐车路线
  status: State; //状态
  // 预约规则信息
  bookingRule: BookingRule;
}
// 字面量类型
export type State = 1 | 0;
export type IHospitalList = IHospitalItem[];

export interface ReqGetHospitalListResponse {
  content: IHospitalList;
  totalElements: number;
}

export interface ReqGetHospitalListParams {
  page: number;
  limit: number;
  hoscode?: string;
  hosname?: string;
  hostype?: string;
  provinceCode?: string;
  cityCode?: string;
  districtCode?: string;
  status?: string;
}

/*
    {
      "id": 110000,
      "createTime": "2020-06-23 15:48:53",
      "updateTime": "2020-06-23 15:52:57",
      "isDeleted": 0,
      "param": {},
      "parentId": 86,
      "name": "北京市",
      "value": "110000",
      "dictCode": null,
      "hasChildren": true
    },
*/
export interface ProvinceCodeItem {
  id: number; //省ID
  createTime: string; //创建时间
  updateTime: string; //修改时间
  parentId: number; //父Id
  name: string; //省市区名称
  value: string; //值
  dictCode: string | null; //市有区

  // isDeleted: number;
  // hasChildren: boolean;
}
export type ProvinceCodeList = ProvinceCodeItem[];

/*

    {
      "depcode": "a4e171f4cf9b6816acdfb9ae62c414d7",
      "depname": "专科",
      "children": [
        {
          "depcode": "200040878",
          "depname": "多发性硬化专科门诊",
          "children": null
        },
      ]
    }

*/

export interface DepItem {
  depcode: string; //科室编码
  depname: string; //科室名称
  children: DepList; // 子科室：门诊，门诊没有children
}
export type DepList = DepItem[];

/*

  {
      "id": "6225753536a9ba1be763dc77",
      "createTime": "2022-03-07 11:00:05",
      "updateTime": "2022-03-07 11:00:05",
      "isDeleted": 0,
      "param": {
        "dayOfWeek": "周三",
        "depname": "多发性硬化专科门诊",
        "hosname": "北京人民医院"
      },
      "hoscode": "1000_0",
      "depcode": "200040878",
      "title": "医师",
      "docname": "",
      "skill": "内分泌科常见病。",
      "workDate": "2022-04-27",
      "workTime": 0,
      "reservedNumber": 33,
      "availableNumber": 22,
      "amount": 100,
      "status": 1,
      "hosScheduleId": "109"
    },
*/
export interface SchedulDetailItem {
  id: string; //排班Id
  createTime: string; //创建时间
  updateTime: string; //修改时间
  isDeleted: number;
  param: {
    dayOfWeek: string; //周几
    depname: string; //门诊名称
    hosname: string; //医院名称
  };
  hoscode: string; //医院编码
  depcode: string; //科室编码
  title: string; //职称
  docname: string; //医生名字
  skill: string; //擅长技能
  workDate: string; //号源时间，排班时间
  workTime: number; //工作时间年限
  reservedNumber: number; //可预约数	剩余预约数
  availableNumber: number; //可预约数
  amount: number; //挂号费
  status: number; //状态
  hosScheduleId: string; //医院排班Id
}
export type SchedulDetailList = SchedulDetailItem[];

/*

   "total": 36,
    "bookingScheduleList": [
      {
        "workDate": "2022-04-27",
        "workDateMd": null,
        "dayOfWeek": "周三",
        "docCount": 3,
        "reservedNumber": 100,
        "availableNumber": 38,
        "status": null
      },
    ]
*/
export interface BookingScheduleItem {
  workDate: string; //排班日期
  // workDateMd: null;
  dayOfWeek: string; //周几
  docCount: number; //
  reservedNumber: number;//预定数量
  availableNumber: number;//可用数量
  // status: null;
}
export type BookingScheduleList = BookingScheduleItem[];
export interface ReqGetSchedulRuleListResponse {
  total: number;
  bookingScheduleList: BookingScheduleList;
  baseMap: {
    hosname: string;//医院名称
  };
}


// 查看医院详情的接口
export interface IhospitalShow {
  bookingRule?: BookingRule
  hospital?: IHospitalItem
}